﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BLL;
using Public;

namespace QLNhanKhau
{
    public partial class frmThemNhanKhau : Form
    {
        public frmThemNhanKhau()
        {
            InitializeComponent();
        }
        int MaSHK;
        private int _Success;

        public int Success
        {
            get { return _Success; }
            set { _Success = value; }
        }

        public frmThemNhanKhau(int _MaSHK)
        {
            InitializeComponent();
            this.MaSHK = _MaSHK;
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (txtHoTen.Text == "" || dateNgaySinh.Text == "" || txtQueQuan.Text == "" || txtNgheNghiep.Text == ""|| txtCMND.Text == "")
            {
                MessageBox.Show("Vui lòng nhập đầy đủ thông tin", "Thông báo nhập liệu", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            Success = 1;
            //thêm chủ sổ hộ khẩu
            NhanKhauPublic nk = new NhanKhauPublic();
            nk.MaNK = DungChung.LoadMaNK();
            nk.HoTen = txtHoTen.Text;
            //nk.MaKS = ;
            nk.NgaySinh = DateTime.Parse(dateNgaySinh.Text);
            nk.NoiSinh = (int)cmbNoiSinh.SelectedValue;
            if (rdtGioiTinhNam.Checked)
                nk.GioiTinh = true;
            else
                nk.GioiTinh = false;
            nk.QueQuan = txtQueQuan.Text;
            nk.MaDT = (byte)cmbQuocTich.SelectedValue;
            nk.MaQH = (byte)cmbQuanHe.SelectedValue;
            nk.NgheNghiep = txtNgheNghiep.Text;
            nk.MaQT = (byte)cmbQuocTich.SelectedValue;
            //nk.MaCT = 0;
            nk.MaTG = (byte)cmbTonGiao.SelectedValue;
            nk.MaTD = (byte)cmbTrinhDo.SelectedValue;
            nk.CMND = txtCMND.Text;
            if (txtTenGoiKhac.Text == "")
            {
                txtTenGoiKhac.Text = null;
            }
            nk.TenGoiKhac = txtTenGoiKhac.Text;
            nk.MaSHK = MaSHK;
            nk.NgayNhap = DateTime.Now;
            //nk.MaKS = int.Parse(txtMaNK.Text);
            //nk.MaKS = null;
            nk.LyDoNhap = 9;
            NhanKhauBLL.InsertNhanKhau(nk);
            this.Close();
            MessageBox.Show("Thêm thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);  
        }

        private void frmThemNhanKhau_Load(object sender, EventArgs e)
        {
            //txtMaNK.Text = DungChung.LoadMaNK().ToString();

            //txtMaNK.Enabled = false;

            //load dân tộc
            cmbDanToc.DataSource = DanTocBLL.LoadDanToc();
            cmbDanToc.DisplayMember = "TenDanToc";
            cmbDanToc.ValueMember = "MaDT";
            //load quoc tich
            cmbQuocTich.DataSource = QuocTichBLL.LoadQuocTich();
            cmbQuocTich.DisplayMember = "TenQuocTich";
            cmbQuocTich.ValueMember = "MaQT";
            //load tôn giáo 
            cmbTonGiao.DataSource = TonGiaoBLL.LoadTonGiao();
            cmbTonGiao.DisplayMember = "TenTonGiao";
            cmbTonGiao.ValueMember = "MaTG";
            //load trình độ
            cmbTrinhDo.DataSource = TrinhDoBLL.LoadTrinhDo();
            cmbTrinhDo.DisplayMember = "TenTrinhDo";
            cmbTrinhDo.ValueMember = "MaTD";
           

            cmbQuanHe.DataSource = QuanHeBLL.LoadQuanHe();
            cmbQuanHe.DisplayMember = "TenQuanHe";
            cmbQuanHe.ValueMember = "MaQH";

            cmbNoiSinh.DataSource = TinhBLL.LoadTinh();
            cmbNoiSinh.DisplayMember = "TenTinh";
            cmbNoiSinh.ValueMember = "MaT";
        }

        private void txtCMND_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar) || txtCMND.Text.Length > 8 && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void txtCMND_Leave(object sender, EventArgs e)
        {
            NhanKhauPublic nk = NhanKhauBLL.LoadNhanKhauByCMND(txtCMND.Text);
            if (nk != null)
            {
                this.balloonTip2.ShowBalloon(txtCMND);
                this.balloonTip2.SetBalloonCaption(txtCMND, "Thông báo");
                this.balloonTip2.SetBalloonText(txtCMND, "Đã có CMND này trong hệ thống");
                txtCMND.Focus();
            }
            
            if (txtCMND.Text.Length < 9)
            {
                this.balloonTip2.ShowBalloon(txtCMND);
                this.balloonTip2.SetBalloonCaption(txtCMND, "Thông báo");
                this.balloonTip2.SetBalloonText(txtCMND, "CMND không hợp lệ");
                txtCMND.Focus();
            }
        }
        private void txtHoTen_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (txtHoTen.Text.Length > 29 && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }
        private void txtNgheNghiep_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (txtNgheNghiep.Text.Length > 49 && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }
        private void txtQueQuan_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (txtQueQuan.Text.Length > 49 && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void frmThemNhanKhau_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
                btnLuu_Click(sender, e);
        }
    }
}
